const user = require("../databases/user");
const xlsx = require("node-xlsx");
const path = require("path")
const fs = require("fs")
const uuid = require("uuid");
const md5 = require("md5");

module.exports = (req,res,next)=>{
  // 接收文件信息
  const file = req.files[0];
  // 准备改名
  const oldName = path.join(__dirname, "..", "upload", file.filename);
  const newName = oldName + "-" + file.originalname;
  fs.renameSync(oldName, newName)
  // 将指定文件，解析成数据
  const data = xlsx.parse(newName)[0].data;

  // 判断解析出的文件信息是否符合数据库要求，如果不符合，直接响应文件格式不对，结束

  // 解析数据成数据库能接收的格式
  const userData = [];
  for(let i=1; i<data.length; i++){
    userData.push({
      uId: "user-" + uuid.v1(),
      username: data[i][1],
      password: md5(data[i][2]),
      tel: data[i][3],
      nickName: data[i][4],
      age: data[i][5]-0,
      sex: data[i][6],
      power: data[i][8]-0,
      regTime: Date.now(),
      avatar:""
    })
  }
  // 将解析之后的数据，插入到数据库
  user.insertMany(userData).then(()=>{
    // 数据插入成功后，删除导入的文件
    fs.unlinkSync(newName);
    // 响应信息
    res.send({
      code:1,
      msg:"导入成功"
    })
  });
}